import logIP from "@/app/www/mws/logIP"; import validateMillis from "@/app/www/mws/validateMillis"; import validateTotem from "@/app/www/mws/validateTotem"; import { doModifyAutoEssay, getAutoEssays, postAutoEssay, wipeAutoEssay, } from "@/app/www/systems/autoEssay"; export const GET = validateMillis(async (req, { params: { forumID } }) => { const avatarID = req.headers.get("avatarID"); return Response.json(await getAutoEssays(forumID, avatarID as string)); }); export const POST = logIP( validateMillis( validateTotem(async (req, { params: { forumID } }) => { const avatarID = req.headers.get("avatarID"); const { title, text } = await req.json(); return Response.json( { autoEssayID: Number( await postAutoEssay(forumID, avatarID as string, title, text), ), }, { status: 201 }, ); }), ), ); export const PUT = logIP( validateMillis( validateTotem(async (req, { params: { autoEssayID } }) => { const avatarID = req.headers.get("avatarID"); const { title, text } = await req.json(); return new Response(undefined, { status: (await doModifyAutoEssay( Number(autoEssayID), avatarID as string, title, text, )) ? 204 : 403, }); }), ), ); export const DELETE = logIP( validateMillis( validateTotem(async (req, { params: { autoEssayID } }) => { const avatarID = req.headers.get("avatarID"); return new Response(undefined, { status: (await wipeAutoEssay(Number(autoEssayID), avatarID as string)) ? 204 : 403, }); }), ), );